Universidad de Costa Rica, escuela de Geografía
GF-0604 Procesamiento de datos geográficos
Profesor: Manuel Vargas del Valle
Introducción:
Este informe tiene como finalidad demostrar la utilidad de utilizar
datos y realizar diferentes estadísticos con ellos como
tablas y gráficos con diferentes
paquetes de R. Estos paquetes se encuentran especificados en la sección
de carga de paquetes y lectura de datos. Además, es importante señalar
que esta página web cuenta con una serie de botones “code”, que
permiten al lector observar el código utilizado para generar cada uno de
los productos.
Desarrollo:
knitr::opts_chunk$set(echo = TRUE)
Carga de paquetes y lectura de datos:
### Carga de paquetes:
library(dplyr)
library(ggplot2)
library(ggthemes)
library(plotly)
library(DT)
library(readr)
library(readxl)
library(lubridate)
library(tidyverse)
Est_pol <-
read_xls("estadisticaspoliciales2021.xls")
Tabla 1. DT interactiva de las estadísticas policiales del
(OIJ):
Est_pol %>%
dplyr::select(Delito, Fecha, Victima, Edad, Genero, Provincia, Canton) %>%
datatable(colnames = c(
"Delito",
"Fecha",
"Víctima",
"Edad",
"Género",
"Provincia",
"Cantón"
), options = list(pageLength = 5, language = list(url = '//cdn.datatables.net/plug-ins/1.10.11/i18n/Spanish.json')))
## Warning in instance$preRenderHook(instance): It seems your data is too big
## for client-side DataTables. You may consider server-side processing: https://
## rstudio.github.io/DT/server.html
Gráfico 1. Gráfico de la cantidad de delitos por tipo de delito
registrados por el (OIJ) en el 2021:
# Gráfico de la cantidad de delitos por tipo de delito:
Delitos <-
Est_pol %>%
count(Delito) %>%
ggplot(aes(x = reorder(Delito, n), y = n)) +
geom_bar(stat = "identity") +
coord_flip() +
ggtitle("Cantidad de delitos por tipo de delito") +
xlab("Tipo de delito") +
ylab("Cantidad de delitos") +
theme_minimal()
ggplotly(Delitos) %>%
config(locale = 'es')
Grafico 2. Muestra interactivamente la cantidad de delitos por mes
registrados por el (OIJ) en el 2021:
Del_mes <- Est_pol %>%
dplyr::select(Fecha, Delito, Hora)
graph2 <-
Del_mes %>% mutate(mes = month(Fecha, label = FALSE)) %>%
ggplot() +
geom_bar(aes(x = mes), fill = "navy", color = "gold") +
ggtitle("Cantidad de delitos por mes") +
xlab("Mes (1-11)") +
ylab("Cantidad") +
theme_minimal()
ggplotly(graph2) %>%
config(locale = 'es')
Nota: Los datos utilizados para generar el gráfico 2, cuenta con
datos únicamente de Enero a Noviembre del mes 1 al 11.
Gráfico 3. Barras apiladas: Muestra la proporción de delitos por
género registrados por el (OIJ) en el 2021:
Propor_gen <- Est_pol %>%
dplyr::select(Delito, Genero)
# ggplotly - Gráfico de barras apiladas de proporciones
Apiladas_propor_genero <-
Propor_gen %>%
ggplot(aes(x = Genero, fill = Delito)) +
geom_bar(position = "fill") +
ggtitle("Proporción de la ocurrencia de delitos por género") +
xlab("Genero") +
ylab("Proporción") +
labs(fill = "Delito") +
theme_minimal()
ggplotly(Apiladas_propor_genero) %>% config(locale = 'es')
Gráfico 4. Cantidad de delitos para los cantones de San José,
Alajuela, Cartago y Heredia registrados por el (OIJ) en el 2021:
Delitos_Cantonal <- Est_pol %>%
dplyr::select(Canton)
Delis_Canto <-
filter(Delitos_Cantonal, grepl('HEREDIA|ALAJUELA|CARTAGO|SAN JOSE', Canton))
Graph_cantones_ASHC <-
Delis_Canto %>%
count(Canton) %>%
ggplot(aes(x = reorder(Canton, n), y = n)) +
geom_bar(stat = "identity") +
ggtitle("Delitos cometidos en los cantones de San José, Alajuela, Cartago y Heredia") +
xlab("Cantón") +
ylab("Cantidad de delitos") +
theme_minimal()
ggplotly(Graph_cantones_ASHC) %>%
config(locale = 'es')
Conclusiones:
Utilizar las herramientas del tidyverse son de gran utilidad porque
cuentan con una gran cantidad de características que permiten al usuario
manejar bases de datos, generar tablas y diferentes tipos de
gráficos.
Ggplot2 ha demostrado ser un paquete con una gran versatilidad, y es
considerado de gran utilidad para el análisis estadístico de los
datos.Del mismo modo, este paquete permite generar productos con
visualizaciones que atraen a los lectores e incluso interactivas que
permiten al usuario interactuar y consultar diferentes tipos de
información dentro del producto generado, como las que permite generar
el plotly de ggplot.
Utilizar metodologías similares a las empleadas en este reporte,
permite que el geógrafo se perfile como un profesional capaz de analizar
datos mediante un lenguaje de programación como R que agiliza los
procesos y además brinda más herramientas de calidad para el quehacer
científico.